#pragma once
#include <SFML\Graphics.hpp>
#include "MutantScore.h"
#include "BossScore.h"
#include "RaiderScore.h"
#include "tripleKill.h"
#include "multiKill.h"
#include "monsterKill.h"
#include "Input.h"
#include <sstream> 
class TextManager {
public:
	TextManager();
	~TextManager();
	
	void Initialize(sf::RenderWindow* window);
	void Update();
	void update_ammoText(Input* inputObj);
	void Cleanup();

	std::string convertInt(int number);
	void addMutantScore(sf::RenderWindow* m_renderWindow, EnemyManager* enyman);
	void addRaiderScore(sf::RenderWindow* m_renderWindow, EnemyManager* enyman);
	void addBossScore(sf::RenderWindow* m_renderWindow, EnemyManager* enyman);
	void addTriplekill(sf::RenderWindow* m_renderWindow);
	void addMultikill(sf::RenderWindow* m_renderWindow);
	void addMonsterkill(sf::RenderWindow* m_renderWindow);


	//void addMachinegun(sf::RenderWindow* m_renderWindow, EnemyManager* enyman);

	std::vector<MutantScore*> m_arrayOfMutantScore;
	std::vector<RaiderScore*> m_arrayOfRaiderScore;
	std::vector<BossScore*> m_arrayOfBossScore;
	std::vector<tripleKill*> m_arrayOfTriplekill;
	std::vector<multiKill*> m_arrayOfMultikill;
	std::vector<monsterKill*> m_arrayOfMonsterkill;


	//std::vector<Machinegun> m_arrayOfRaiderPoints;
	//std::vector<asd> m_arrayOfBossPoints;

private:
	MutantScore* mutantScoreObj;
	RaiderScore* raiderScoreObj;
	BossScore* bossScoreObj;
	tripleKill* tripleKillObj;
	multiKill* multiKillObj;
	monsterKill* monsterKillObj;
	sf::Font* m_font_Score;

	// Ammo meter stuff
	sf::RenderWindow* m_renderWindow;
	unsigned int fade;
	sf::Color* color;
	sf::Text* clipAmmoText;
	sf::Text* totalAmmoText;
	sf::Text* slash;
	sf::Font* ammoFont;
	
};

